package com.Offer;

import java.util.ArrayList;
import java.util.List;

/*
    面试题62：圆圈中最后剩下的数字
    0,1，...，n-1个数字排成一圈，从0开始，每次从圆圈中删除第m个数字，求这个圆圈最后一个数字
    例如 0,1,2,3,4，每次删除第3个数字，按照顺序依次删除2,0,4，1，剩下最后数字3
 */
public class demo62 {
    public static void main(String[] args) {
        System.out.println(lastRemain(3,1));
    }

    public static int lastRemain(int n,int m){
        if (n < 1 || m < 1)
            return -1;
        int last = 0;
        for(int i = 2;i <= n;i++){
            // i 个数时删除数的索引等于 i-1 个数时删除数的索引+m(再对 i 取余)
            last = (last+m) % i;
            System.out.println("last:"+last);
        }
        return last;
    }
}
